package com.itextpdf.text.pdf.fonts; import com.itextpdf.testutils.CompareTool; import com.itextpdf.text.*; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfWriter; import org.junit.BeforeClass; import org.junit.Test; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class FontEmbeddingTest { private static String srcFolder = "./src/test/resources/com/itextpdf/text/pdf/fonts/"; private static String outFolder = "./target/com/itextpdf/text/pdf/fonts/FontEmbeddingTest/"; @BeforeClass public static void setUp() throws Exception { new File(outFolder).mkdirs(); } @Test public void testNotoFont() throws DocumentException, IOException, InterruptedException { Document document = new Document(); String filename = outFolder + "testNotoFont.pdf"; PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); String fontPath = srcFolder + "NotoFont/NotoSansCJKjp-Bold.otf"; BaseFont bf = BaseFont.createFont(fontPath, "Identity-H", true); Font font = new Font(bf, 14); String[] lines = new String[] {"Noto test", "in japanese:", "\u713C"}; for (String line: lines) { document.add(new Paragraph(line, font)); } document.add(Chunk.NEWLINE); document.close(); String cmpname = srcFolder + "FontEmbeddingTest/cmp_testNotoFont.pdf"; new CompareTool().compareByContent(filename, cmpname, outFolder, "diff"); } }